﻿Imports Negocio

Public Class GesInformes

    Public Shared Function ProyectosPendientes() As Proyecto()
        Dim p As Proyecto()
        Return p
    End Function

    Public Shared Function ProyectosFinalizados(desde As Date, hasta As Date) As Proyecto()
        Dim p As Proyecto()
        Return p
    End Function

    Public Shared Function RecursoporProyecto(persona As Recurso) As Proyecto()
        Dim p As Proyecto()
        Return p
    End Function

    'TODO: Patron Factory
    Public Shared Function CreateRptProject(project As Proyecto) As RptProyecto

        Dim rptproy As New RptProyecto()
        rptproy.Titulo = project.Titulo
        rptproy.Descripcion = project.Descripcion
        rptproy.Fecha = project.FechaInicio
        rptproy.Progreso = GesProyectos.CalcularProgreso(project)
        rptproy.Horas = GesProyectos.CalcularHoras(project)
        rptproy.Usuario = project.Usuario.ToString()

        For Each t As Tarea In GesTareas.Consultar(project)
            rptproy.Tareas.Add(CreateRptTask(t))
        Next

        Return rptproy

    End Function

    Public Shared Function CreateRptTask(task As Tarea) As RptTarea
        Dim rpttar As New RptTarea()
        rpttar.Titulo = task.Titulo
        rpttar.Descripcion = task.Descripcion
        rpttar.Fecha = task.FechaInicio
        rpttar.Progreso = GesTareas.CalcularProgreso(task)
        rpttar.Horas = task.Horas
        rpttar.Usuario = task.Usuario.ToString()

        For Each a As Actividad In GesActividades.Consultar(task)
            rpttar.Actividades.Add(CreateRptActivity(a))
        Next

        Return rpttar
    End Function

    Public Shared Function CreateRptActivity(activity As Actividad) As RptActividad
        Dim rptact As New RptActividad()
        rptact.Descripcion = activity.Descripcion
        rptact.Fecha = activity.Fecha
        rptact.Progreso = activity.Progreso
        rptact.Usuario = activity.Usuario.ToString()
        Return rptact
    End Function
End Class

